The present invention relates generally to error coding for mobile communication networks and, more particularly, to packet-level forward error correcting codes for broadcast/multicast services and other services.
High data rate multimedia applications, such as video streaming, audio streaming, and download services, long available in wired networks, are now being offered over mobile communications networks. Various standard organizations, such as the 3rd Generation Partnership Project (3GPP) and the 3rd Generation Partnership Project 2 (3GPP2) are developing standards for broadcast and multicast services. Broadcast and multicast services are both forms of point-to-multipoint (PTM) communications where data packets are simultaneously transmitted from a single source to multiple users over a common channel. A distinction is sometimes drawn between broadcast and multicast services. The distinction is that a broadcast stream is typically offered to all users, while a multicast stream is offered to a special multicast group. Broadcast and multicast services are referred to herein collectively as mobile broadcast services. In GSM/WCDMA systems, broadcast/multicast services are referred to as Multimedia Broadcast and Multicast Services (MBMS). In cdma2000, broadcast/multicast services are called Broadcast and Multicast Services (BCMCS).
Reliable delivery of data is one of the key requirements for mobile broadcast services. Because broadcast and multicast are one way transmissions in the downlink, the transmission control protocol (TCP) cannot be employed to ensure reliable delivery. The Internet Engineering Task Force (IETF) has proposed a framework for data delivery from a media server to the radio access networks (RANs) over unicast channels called File Delivery Over Unidirectional Transport (FLUTE). FLUTE employs the User Datagram Protocol (UDP) as its underlying transport protocol. However, because UDP is unreliable, FLUTE can support packet-level forward error correction (FEC) at the application layer to protect encapsulated data against occasional packet loss. At the RAN, the FLUTE packets are segmented and encapsulated into physical layer packets for transmission over the air interface. One or more intermediate protocol layers may exist between the application layer and the physical layer. Even with strong FEC coding, some packet loss at the physical layer is to be expected due to the harsh conditions of the radio channel.
In most applications using mobile broadcast services, an application layer packet is discarded if any portion of the application packet is lost. Because physical layer packets are typically not aligned with application layer packets, the loss of a single physical layer packet may result in the loss of two or more application layer packets. This effect is referred to as error propagation. Reducing the segmentation ratio, defined herein as the ratio of application layer packet length to physical layer packet length, will result in lower packet loss rate for application packets at the expense of greater header overhead. On the other hand, increasing the size of the application layer packets will reduce header overhead but will increase the packet loss rate of the application layer packets. The packet loss rate can be reduced by decreasing the code rate of the FEC codes used at the application layer. However, reducing the code rate means that the number of redundant bits transmitted increases and, hence, the system throughput decreases.